package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.RoomBean;

import java.util.List;

/*房间业务接口*/
public interface IRoomService {
    /**
     * 动态查询房间信息   同时统计每个房间的已住人数
     *
     * @param pageNO  页码
     * @param address 房间地址
     * @param state   房间状态
     * @param info    房间是否可住
     * @param type    房间类型
     * @return 房间分页对象
     */
    IPage<RoomBean> findByItem(int pageNO, String address, String state, String info, String type);

    /**
     * 添加房间
     * 房间地址 可容纳人数， 房间类型。
     *
     * @param room 房间对象
     */
    void add(RoomBean room);

    /**
     * 删除房间
     * 根据房间的id删除房间
     * 统计房间的已住人数 ,如果不为0 返回false
     * 如果为0 则完成房间设施维护信息删除， 在完成房间删除
     * @param roomId
     * @return  返回删除是否成功
     */
    boolean del(Integer roomId);

    /**
     * 根据房间id 查询房间信息 ， 同时统计该房间的已住人数 ，
     * 同时显示该房间所住学生信息，在学生信息中需要查询学生所在名称
     *
     * @param id 房间id
     * @return 房间对象
     */
    RoomBean findByRoomId(Integer id);

    /**
     * 根据性别查找可住房间
     *
     * @param gender 性别
     * @return 可住房间集合
     */
    List<RoomBean> findByGender(String gender);

}
